Veri cation of Compilers
نویسنده
چکیده
We report about a joint project of the universities at Karls-ruhe, Kiel and Ulm on how to get correct compilers for realistic programming languages. Arguing about compiler correctness must start from a compiling speciication describing the correspondence of source and target language in formal terms. We have chosen to use abstract state machines to formalize this correspondence. This allows us to stay with traditional compiler architectures for subdividing the compiler task. A main achievement is the use of program checking for replacing large parts of compiler veriication by the much simpler task of verifying program checkers.
منابع مشابه
Generating Decompilers
Compiler compilers are in widespread use, but decompiler compilers are a more novel concept. This paper sets out a technique for the decompilation of object code back to source code, and describes a working decompiler generator. Existing and potential applications include reverse engineering, quality assessment, debugging and safety-critical code validation or veri cation.
متن کاملAn Architecture for Veri ed
machine term rewriting graph rewriting traversal techniques . . . prefabricated parts generated from specifications Compiler executes Figure3. Implementation architecture 4.3 An Initial Correct Compiler The discussion in the previous subsection relies on the availability of a correct compiler for the implementation language. This problem must be dealt with in order to continue. The aim of this ...
متن کاملVOC: A Methodology for the Translation Validation of OptimizingCompilers
There is a growing awareness, both in industry and academia, of the crucial role of formally verifying the translation from high-level source-code into low-level object code that is typically performed by an optimizing compiler. Formally verifying an optimizing compiler, as one would verify any other large program, is not feasible due to its size, ongoing evolution and modi cation, and, possibl...
متن کاملScalable Certi cation for Typed Assembly Language
A type-based certifying compiler maps source code to machine code and target-level type annotations. The targetlevel annotations make it possible to prove easily that the machine code is type-safe, independent of the source code or compiler. To be useful across a range of source languages and compilers, the target-language type system should provide powerful type constructors for encoding sourc...
متن کاملFormal Veri cation of Transformations on Dependency Graphs in Optimizing Compilers
Dependency graphs are used as intermediate representations in optimizing compilers and software-engineering. In a transformational design approach, optimization and reenement transformations are used to transform dependency-graph-based speciications at higher abstraction levels to those at lower abstraction levels. An informal representation would lead to subtle errors, making it diicult to gua...
متن کاملTransformations on Dependency Graphs :
Dependency graphs are used to model data and control ow in hardware and software design. In a transformational design approach, optimization and re nement transformations are used to transform dependency-graph-based speci cations at higher abstraction levels to those at lower abstraction levels. In this dissertation, we investigate the formal speci cation and mechanical veri cation of transform...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999